package com.ruoyi.admin.service;

import com.ruoyi.admin.domain.entity.AtricleModel;
import com.ruoyi.admin.domain.vo.request.atricle.AtriclePageJoinRequest;
import com.ruoyi.admin.domain.vo.response.atricle.AtriclePageJoinResponse;
import com.ruoyi.admin.domain.vo.response.atricle.AtriclePageResponse;
import com.ruoyi.admin.domain.vo.response.atricle.AtricleResponse;
import com.ruoyi.common.api.Result;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

import java.util.List;

/**
 * 货号表(Atricle) Service接口
 *
 * @author jianhan
 * @date 2023-01-31 10:49:28
 */
public interface AtricleService extends IService<AtricleModel> {

    /**
     * 根据id获取单条数据信息
     *
     * @param atricleId 货号表id
     * @return 单条数据信息
     * @author jianhan
     * @date 2023-01-31 10:49:28
     **/
    Result<AtricleResponse> getId(Long atricleId);

    /**
     * 分页获取列表
     *
     * @param page         分页信息
     * @param atriclePageJoinRequest 查询条件
     * @return 单页数据
     * @author jianhan
     * @date 2023-01-31 10:49:28
     **/
    Result<AtriclePageResponse> page(Page<AtriclePageJoinRequest> page, AtriclePageJoinRequest atriclePageJoinRequest);

    /**
     * @description: 条件连表查询
     * @param:
     * @return:
     * @author: jianhan
     * @date: 2023/2/7 11:31
     **/
    Result<List<AtriclePageJoinResponse>> selectList(AtriclePageJoinRequest a);

    /**
     * 添加货号表
     *
     * @param atricleModel 货号表信息
     * @return 添加结果
     * @author jianhan
     * @date 2023-01-31 10:49:28
     **/
    Result add(AtricleModel atricleModel);

    /**
     * 修改货号表
     *
     * @param atricleModel 货号表信息
     * @return 修改结果
     * @author jianhan
     * @date 2023-01-31 10:49:28
     **/
    Result update(AtricleModel atricleModel);

    /**
     * 删除货号表
     *
     * @param atricleId 货号表id
     * @return 删除结果
     * @author jianhan
     * @date 2023-01-31 10:49:28
     **/
    Result delete(Long atricleId);

}
